[アップデート]Amazon S3でAWS Dedicated Local Zones向けのストレージクラスが発表されました
みなさんこんにちは、杉金です。
Amazon S3でAWS Dedicated Local Zones向けのストレージクラスが発表されました。
今回の発表により、以下のストレージクラスがDedicated Local Zonesに対応しました。
- Amazon S3 Express One Zone
- S3 One Zone-Infrequent Access storage
Dedicated Local Zonesは、簡単に言うと顧客専用のLocal Zoneで、データのレジデンシーや分離などを目的に使用されます。
従来はVPCやEC2など一部サービスでDedicated Local Zones利用可能だったところに、今回新たにS3が仲間入りした形です。(ただし、特定のストレージクラスのみ)
Dedicated Local Zonesは、専用の区画(AWSインフラ環境)を作る特性上、手軽には試せません。そこで今回は設定の流れを紹介します。
設定の流れ
S3 Express One Zone(ディレクトリバケット)での利用を例に、設定の流れを記載します。
- Dedicated Local Zonesを利用するAWSアカウントの用意
- Dedicated Local Zones上にS3のディレクトリバケットを作成
- ゲートウェイVPCエンドポイントを作成
- アクセス制御の設定
1.Dedicated Local Zonesを利用するAWSアカウントの用意
本記事執筆時点のDedicated Local Zonesは、ボタンやコマンドでサクッと専用のゾーンを作ることはできず、まずは利用開始の問い合わせを行います。専用のインフラ環境を用意するという特性上、このような始め方なのかなと思われます。
2.Dedicated Local Zones上にS3のディレクトリバケットを作成
Dedicated Local Zonesが用意できたら、その上にS3のディレクトリバケットを作成します。
アベイラビリティーゾーンの選択にて、用意されたDedicated Local Zonesを選択します。
(Dedicated Local Zonesの環境はないため、下記画像はあくまで参考)
AWS CLIでディレクトリバケットを作成するにはs3apiでcreate bucketを呼び出します。
aws s3api create-bucket
--bucket bucket-base-name--zone-id--x-s3
--create-bucket-configuration 'Location={Type=LocalZone,Name=local-zone-id},Bucket={DataRedundancy=SingleLocalZone,Type=Directory}'
--region parent-region-code
コマンド内で指定するzone-idはaws ec2 describe-availability-zones
で取得できます。
この設定方法はLocal ZoneとDedicated Local Zonesで同じであるため、適当なLocal Zoneで試しにディレクトリバケットを作成しようとしたのですができませんでした。以下の制限があるためです。
Directory buckets are not currently available in other AWS Local Zones locations
引用元:https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-data-residency.html
3.ゲートウェイVPCエンドポイントを作成
必要に応じてVPC内のEC2からプライベートに接続するために、ゲートウェイVPCエンドポイントを作成します。手順は通常のゲートウェイVPCエンドポイントと同様で、キーポイントは選択するサービスがcom.amazonaws.region.s3express
であることです。
4.アクセス制御の設定
必要に応じてディレクトリバケットへのアクセス制御を設定します。バケットポリシーやIAMユーザー/IAMロールのポリシー、SCPなどいくつか設定方法があります。どこでアクセスを制御させたいかによって使い分けします。
バケットポリシーでの例は以下です。Condition
を使って、許可あるいは拒否する条件を指定します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Access-to-specific-LocalZones-only",
"Principal": "*",
"Action": "s3express:CreateSession",
"Effect": "Deny",
"Resource": "*",
"Condition": {
"StringNotEqualsIfExists": {
"s3express:AllAccessRestrictedToLocalZoneGroup": [
"local-zone-network-border-group-value"
]
}
}
}
]
}
さいごに
今回のアップデートを紹介しました。主だったところを何も試せませんが、Dedicated Local Zonesを理解するのに役立ちました。
機密性の高い情報を保管する目的やBCPのひとつとして物理的/地理的に分離された環境が必要となるケースがあります。Dedicated Local Zonesはそのようなときの選択肢のひとつとなりそうです。ストレージサービスであるS3がDedicated Local Zonesに対応したのは嬉しいアップデートではないでしょうか。
手軽に試せないのと情報が少ないため、サービスの拡大とともに今後ユースケースや設定ドキュメントが増えていくことを期待したいです。